<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
	<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">       
	<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
	<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
        <title>Modificar Proveedor</title> 
    </head>
        <body class="container">       
            <%@include file="../../opciones.jsp"%>
            <script>            
        (function($)
{
  jQuery.fn.Rut = function(options)
  {
    var defaults = {
      digito_verificador: null,
      on_error: function(){},
      on_success: function(){},
      validation: true,
      format: true,
      format_on: 'change'
    };

    var opts = $.extend(defaults, options);

    return this.each(function(){
    
      if(defaults.format)
      {
        jQuery(this).bind(defaults.format_on, function() {
                                jQuery(this).val(jQuery.Rut.formatear(jQuery(this).val(), defaults.digito_verificador == null));
                            });
                        }
                        if (defaults.validation)
                        {
                            if (defaults.digito_verificador == null)
                            {
                                jQuery(this).bind('blur', function() {
                                    var rut = jQuery(this).val();
                                    if (jQuery(this).val() != "" && !jQuery.Rut.validar(rut))
                                    {
                                        defaults.on_error();
                                    }
                                    else if (jQuery(this).val() != "")
                                    {
                                        defaults.on_success();
                                    }
                                });
                            }
                            else
                            {
                                var id = jQuery(this).attr("id");
                                jQuery(defaults.digito_verificador).bind('blur', function() {
                                    var rut = jQuery("#" + id).val() + "-" + jQuery(this).val();
                                    if (jQuery(this).val() != "" && !jQuery.Rut.validar(rut))
                                    {
                                        defaults.on_error();
                                    }
                                    else if (jQuery(this).val() != "")
                                    {
                                        defaults.on_success();
                                    }
                                });
                            }
                        }
                    });
                }
            })(jQuery);

            /**
             Funciones
             */


            jQuery.Rut = {
                formatear: function(Rut, digitoVerificador)
                {
                    var sRut = new String(Rut);
                    var sRutFormateado = '';
                    sRut = jQuery.Rut.quitarFormato(sRut);
                    if (digitoVerificador) {
                        var sDV = sRut.charAt(sRut.length - 1);
                        sRut = sRut.substring(0, sRut.length - 1);
                    }
                    while (sRut.length > 3)
                    {
                        sRutFormateado = "." + sRut.substr(sRut.length - 3) + sRutFormateado;
                        sRut = sRut.substring(0, sRut.length - 3);
                    }
                    sRutFormateado = sRut + sRutFormateado;
                    if (sRutFormateado != "" && digitoVerificador)
                    {
                        sRutFormateado += "-" + sDV;
                    }
                    else if (digitoVerificador)
                    {
                        sRutFormateado += sDV;
                    }

                    return sRutFormateado;
                },
                quitarFormato: function(rut)
                {
                    var strRut = new String(rut);
                    while (strRut.indexOf(".") != -1)
                    {
                        strRut = strRut.replace(".", "");
                    }
                    while (strRut.indexOf("-") != -1)
                    {
                        strRut = strRut.replace("-", "");
                    }

                    return strRut;
                },
                digitoValido: function(dv)
                {
                    if (dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4'
                            && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9'
                            && dv != 'k' && dv != 'K')
                    {
                        return false;
                    }
                    return true;
                },
                digitoCorrecto: function(crut)
                {
                    largo = crut.length;
                    if (largo < 2)
                    {
                        return false;
                    }
                    if (largo > 2)
                    {
                        rut = crut.substring(0, largo - 1);
                    }
                    else
                    {
                        rut = crut.charAt(0);
                    }
                    dv = crut.charAt(largo - 1);
                    jQuery.Rut.digitoValido(dv);

                    if (rut == null || dv == null)
                    {
                        return 0;
                    }

                    dvr = jQuery.Rut.getDigito(rut);

                    if (dvr != dv.toLowerCase())
                    {
                        return false;
                    }
                    return true;
                },
                getDigito: function(rut)
                {
                    var dvr = '0';
                    suma = 0;
                    mul = 2;
                    for (i = rut.length - 1; i >= 0; i--)
                    {
                        suma = suma + rut.charAt(i) * mul;
                        if (mul == 7)
                        {
                            mul = 2;
                        }
                        else
                        {
                            mul++;
                        }
                    }
                    res = suma % 11;
                    if (res == 1)
                    {
                        return 'k';
                    }
                    else if (res == 0)
                    {
                        return '0';
                    }
                    else
                    {
                        return 11 - res;
                    }
                },
                validar: function(texto)
                {
                    texto = jQuery.Rut.quitarFormato(texto);
                    largo = texto.length;

                    // rut muy corto
                    if (largo < 2)
                    {
                        return false;
                    }

                    // verifica que los numeros correspondan a los de rut
                    for (i = 0; i < largo; i++)
                    {
                        // numero o letra que no corresponda a los del rut
                        if (!jQuery.Rut.digitoValido(texto.charAt(i)))
                        {
                            return false;
                        }
                    }

                    var invertido = "";
                    for (i = (largo - 1), j = 0; i >= 0; i--, j++)
                    {
                        invertido = invertido + texto.charAt(i);
                    }
                    var dtexto = "";
                    dtexto = dtexto + invertido.charAt(0);
                    dtexto = dtexto + '-';
                    cnt = 0;

                    for (i = 1, j = 2; i < largo; i++, j++)
                    {
                        if (cnt == 3)
                        {
                            dtexto = dtexto + '.';
                            j++;
                            dtexto = dtexto + invertido.charAt(i);
                            cnt = 1;
                        }
                        else
                        {
                            dtexto = dtexto + invertido.charAt(i);
                            cnt++;
                        }
                    }

                    invertido = "";
                    for (i = (dtexto.length - 1), j = 0; i >= 0; i--, j++)
                    {
                        invertido = invertido + dtexto.charAt(i);
                    }

                    if (jQuery.Rut.digitoCorrecto(texto))
                    {
                        return true;
                    }
                    return false;
                }
            };

        </script>
            <h1>Información Del Proveedor</h1>
            <FORM class="form-horizontal" id="form_proveedor" METHOD = "GET" ACTION = "<c:url value="/ActualizarProveedor"/>" >
                <div class="form-group">        
                    <label for="rut_proveedor" class="col-md-2 control-label">Rut Proveedor</label>
                    <div class="col-md-10">
                        <INPUT id="rut_proveedor" class="form-control" TYPE ="Text" NAME = "RUT_PROVEEDOR" autofocus/>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <button type="submit" class="btn btn-default">Modificar</button>
                    </div>
                </div>
            </FORM>        
                <script>
                $('#rut_proveedor').Rut({
                   on_error: function(){
                       alert('El RUT ingresado no es válido, por favor ingreselo nuevamente');
                        $('#rut_proveedor').val(''); 
                        $('#rut_proveedor').focus(); 
                        } 
                });
                $('#form_proveedor').submit(function(e){
                    e.preventDefault();
                    $('#rut_proveedor').val(rut.match(/[\d]+$/));
                    $(this).unbind('submit').submit();
                });
                
            </script>   
        <h2>${Mensaje}</h2>
        </body>
</html>
